import 'package:aitao_flutter/dynamic/send_dynamic_page.dart';
import 'package:aitao_flutter/home/views/home_page.dart';
import 'package:aitao_flutter/home/views/search_page.dart';
import 'package:aitao_flutter/login/page/change_password_page.dart';
import 'package:aitao_flutter/login/page/code_login_page.dart';
import 'package:aitao_flutter/login/page/forget_password_page.dart';
import 'package:aitao_flutter/login/page/password_login_page.dart';
import 'package:aitao_flutter/login/page/register_page.dart';
import 'package:aitao_flutter/mine/bindings/personal_binding.dart';
import 'package:aitao_flutter/mine/views/about_page.dart';
import 'package:aitao_flutter/mine/views/billing_detail_page.dart';
import 'package:aitao_flutter/mine/views/bind_account_page.dart';
import 'package:aitao_flutter/mine/views/black_list_page.dart';
import 'package:aitao_flutter/mine/views/certification_page.dart';
import 'package:aitao_flutter/mine/views/edit_name_page.dart';
import 'package:aitao_flutter/mine/views/gift_list_page.dart';
import 'package:aitao_flutter/mine/views/invite_list_page.dart';
import 'package:aitao_flutter/mine/views/invite_page.dart';
import 'package:aitao_flutter/mine/views/language_set_page.dart';
import 'package:aitao_flutter/mine/views/member_page.dart';
import 'package:aitao_flutter/mine/views/message_notification_page.dart';
import 'package:aitao_flutter/mine/views/personal_page.dart';
import 'package:aitao_flutter/mine/views/photo_album_page.dart';
import 'package:aitao_flutter/mine/views/privacy_set_page.dart';
import 'package:aitao_flutter/mine/views/recharge_page.dart';
import 'package:aitao_flutter/mine/views/relation_page.dart';
import 'package:aitao_flutter/mine/views/report_page.dart';
import 'package:aitao_flutter/mine/views/say_hello_page.dart';
import 'package:aitao_flutter/mine/views/setting_page.dart';
import 'package:aitao_flutter/mine/views/video_cost_page.dart';
import 'package:aitao_flutter/mine/views/withdraw_list_page.dart';
import 'package:aitao_flutter/mine/views/withdraw_page.dart';
import 'package:aitao_flutter/mine/views/young_close_page.dart';
import 'package:aitao_flutter/mine/views/young_confirm_ps_page.dart';
import 'package:aitao_flutter/mine/views/young_forget_ps_page.dart';
import 'package:aitao_flutter/mine/views/young_set_ps_page.dart';
import 'package:aitao_flutter/mine/views/young_setting_page.dart';
import 'package:aitao_flutter/test/test_page.dart';
import 'package:aitao_flutter/video_chat/views/video_chat_page.dart';
import 'package:aitao_flutter/webview/at_webview_page.dart';
import 'package:flutter/widgets.dart';
import 'package:get/get.dart';
import '../tab/views/tab.dart';

abstract class Routes {
  /// Test
  static const String testPage = '/test';

  /// Tab
  static const String tabPage = '/tab';

  /// Home
  static const String homePage = '/homePage';

  /// 账号密码登录
  static const String passwordLoginPage = '/passwordLogin';

  /// 手机验证码登录
  static const String smsCodeLoginPage = '/smsCodeLogin';

  /// 注册
  static const String registerPage = '/register';

  /// 忘记密码
  static const String forgetPasswordPage = '/forgetPassword';

  /// 设置
  static const String settingPage = '/setting';

  /// 相册
  static const String photoAlbumPage = '/photoAlbum';

  /// 关系
  static const String relationPage = '/relation';

  /// 充值
  static const String rechargePage = '/recharge';

  /// 会员
  static const String memberPage = '/member';

  /// 个人主页
  static const String personalPage = '/personal';

  /// 举报
  static const String reportPage = '/report';

  /// 礼物列表
  static const String giftListPage = '/giftList';

  /// 修改昵称
  static const String editNamePage = '/editName';

  /// 邀请
  static const String invitePage = '/invite';

  /// 邀请列表
  static const String inviteListPage = '/inviteList';

  /// 账单明细
  static const String billingDetailPage = '/billingDetail';

  /// 打招呼
  static const String sayHelloPage = '/sayHello';

  /// 发布动态
  static const String sendDynamicPage = '/sendDynamicPage';

  /// 女神认证
  static const String certificationPage = '/certificationPage';

  /// 通话价格
  static const String videoCostPage = '/videoCostPage';

  /// 隐私设置
  static const String privacySetPage = '/privacySetPage';

  /// 提现
  static const String withDrawPage = '/withDrawPage';

  /// 提现详细
  static const String withDrawListPage = '/withDrawListPage';

  /// 绑定支付宝
  static const String bingAccountPage = '/bingAccountPage';

  /// 黑名单
  static const String blackListPage = '/blackListPage';

  /// 关于
  static const String aboutPage = '/aboutPage';

  /// 新消息通知
  static const String messageNotiPage = '/messageNotiPage';

  /// 修改密码
  static const String changePasswordPage = '/changePasswordPage';

  /// 青少年模式
  static const String youngSetPage = '/youngSetPage';

  /// 青少年模式设置密码
  static const String youngSetPassPage = '/youngSetPassPage';

  /// 青少年模式确认密码
  static const String youngConfirmPassPage = '/youngConfirmPassPage';

  /// 关闭青少年模式
  static const String closeYoungModePage = '/closeYoungModePage';

  /// 青少年模式忘记密码
  static const String youngModeForgetPage = '/youngModeForgetPage';

  /// 网页
  static const String webViewPage = '/webViewPage';

  /// 网页
  static const String searchPage = '/searchPage';

  /// 视频通话
  static const String videoChatPage = '/videoChatPage';

  /// 视频通话拨打页面
  // static const String videoRequestPage = '/videoRequestPage';

  /// 视频通话来电页面
  // static const String videoResponsePage = '/videoResponsePage';

  /// 语言设置
  static const String languageSetPage = '/languageSetPage';

  static final routePage = [
    // GetPage(name: videoResponsePage, page: () => VideoResponsePage()),
    // GetPage(name: videoRequestPage, page: () => const VideoRequestPage()),
    GetPage(name: languageSetPage, page: () => const LanguageSetPage()),
    GetPage(
        name: videoChatPage,
        page: () => const VideoChatPage(),
        transition: Transition.downToUp),
    GetPage(name: searchPage, page: () => const SearchPage()),
    GetPage(name: webViewPage, page: () => const AtWebViewPage()),
    GetPage(name: youngModeForgetPage, page: () => const YoungForgetPsPage()),
    GetPage(name: homePage, page: () => HomePage()),
    GetPage(name: closeYoungModePage, page: () => const CloseYoungModePage()),
    GetPage(name: youngConfirmPassPage, page: () => const YoundConfirmPsPage()),
    GetPage(name: youngSetPassPage, page: () => const YoundSetPsPage()),
    GetPage(name: youngSetPage, page: () => const YoundSettingPage()),
    GetPage(name: changePasswordPage, page: () => const ChangePasswordPage()),
    GetPage(name: testPage, page: () => const TestPage()),
    GetPage(name: tabPage, page: () => const Tabs()),
    GetPage(name: passwordLoginPage, page: () => const PasswordLoginPage()),
    GetPage(name: registerPage, page: () => const RegisterPage()),
    GetPage(name: forgetPasswordPage, page: () => const ForgetPasswordPage()),
    GetPage(name: smsCodeLoginPage, page: () => const CodeLoginPage()),
    GetPage(name: settingPage, page: () => SettingPage()),
    GetPage(name: photoAlbumPage, page: () => PhotoAlbumPage()),
    GetPage(name: relationPage, page: () => RelationPage()),
    GetPage(name: rechargePage, page: () => RechargePage()),
    GetPage(name: memberPage, page: () => MemberPage()),
    GetPage(
        name: personalPage,
        page: () => PersonalPage(),
        binding: PersonalBinding()),
    GetPage(name: reportPage, page: () => ReportPage()),
    GetPage(name: giftListPage, page: () => const GiftListPage()),
    GetPage(name: editNamePage, page: () => const EditNamePage()),
    GetPage(name: invitePage, page: () => const InvitePage()),
    GetPage(name: inviteListPage, page: () => const InviteListPage()),
    GetPage(name: billingDetailPage, page: () => const BillingDetailPage()),
    GetPage(name: sayHelloPage, page: () => const SayHelloPage()),
    GetPage(name: sendDynamicPage, page: () => const SendDynamicPage()),
    GetPage(name: certificationPage, page: () => const CertificationPage()),
    GetPage(name: videoCostPage, page: () => const VideoCostPage()),
    GetPage(name: privacySetPage, page: () => const PrivacySetPage()),
    GetPage(name: withDrawPage, page: () => const WithDrawPage()),
    GetPage(name: withDrawListPage, page: () => const WithDrawListPage()),
    GetPage(name: bingAccountPage, page: () => const BingAccountPage()),
    GetPage(name: blackListPage, page: () => const BlackListPage()),
    GetPage(name: aboutPage, page: () => const AboutPage()),
    GetPage(name: messageNotiPage, page: () => const MessageNotificationPage())
  ];
}
